Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- File recovery



  Useful Bash Scripts

Many people hack together shell scripts quickly to do simple tasks, but these soon take on a life of their own. Unfortunately shell scripts are full of subtle effects which result in scripts failing in unusual ways. It's possible to write scripts which minimise these problems. In this article, I explain several techniques for writing robust bash scripts. Use set -u ...

   Linux,Shell,Bash,Command,Robust     2012-01-15 10:28:00

  Why init() is not recommended in Go

golangci lint Currently, the unified CI's .golangci.yml includes the gochecknoinits checker: # golangci-lint v1.46.2 # https://golangci-lint.run/usage/linters linters: disable-all: true enable: ... - gochecknoinits # Checks that no init functions are present in Go code. ref: https://github.com/leighmcculloch/gochecknoinits ... If Go code uses the init() function, the following error will occur: # golangci-lint run foo/foo.go:3:1: don't use `init` function (gochecknoinits) func i...

   GOLANG,INIT(),SYNC.ONCE,PANIC     2024-05-10 07:46:18

  Writing robust shellling scripts

Many people hack together shell scripts quickly to do simple tasks, but these soon take on a life of their own. Unfortunately shell scripts are full of subtle effects which result in scripts failing in unusual ways. It's possible to write scripts which minimise these problems. In this article, I explain several techniques for writing robust bash scripts. Use set -u ...

   Robust,Shell script,Set,Commands     2012-03-19 13:25:26

  Why is single threaded Redis so fast

Redis is a high-performance, in-memory key-value database. According to official test reports, it can support around 100,000 QPS (queries per second) on a single machine. However, Redis uses a single-threaded architecture in its design. Why does Redis still have such high performance with a single-threaded design? Wouldn't it be better to use multiple threads for concurrent request processing? In this article, let's explore why Redis has a single-threaded architecture and still maintains its spe...

   REDIS,SINGLE-THREADED,MULTI-THREADING     2023-02-28 05:16:22

  Write HTML easily with Emmet and Haml

Writing HTML codes is very boring and tedious as it has many tags and it's static. One solution is to use template, filling content based on other's skeleton. One another solution is high speed writing. We can write HTML codes with Emmet and Haml. These two ways have similar functions but with different characteristics. Haml is based on Ruby, so when working on Ruby/Rails projects, we recommend to use Haml, otherwise we recommend to use Emmet. 1. Emmet Emmet is a editor plugin, the official webs...

   HTML,Emmet,Haml     2013-06-11 19:46:02

  VirtualBox Q&A(Host OS: Windows; Guest OS: Ubuntu)

This is a Q&A post after sharing Guide for installing Ubuntu in VirtualBox on Windows 1. If the resolution of the installed guest OS on the VirtualBox is too small(For example 640x480) and you cannot adjust it through System Settings -> Display, what should you do? A: In this case, it is mostly probably you don't have the VirtualBox Guest Additions installed. You can install the Guest Additions on your guest OS by: sudo apt-get install virtualbox-guest-dkms Then restart the VM and you wil...

   VIRTUALBOX,HOST ONLY,RESOLUTION,Q&A,STATIC IP     2016-08-12 04:24:40

  Create animated refresh button in Android

In Android, we can have drawings on a button, also we can put animated drawings on a button as well. Today we will show how to create an animated refresh button with an animated spinner on it. We need to create an animated drawing first. Here we name it as progress.xml and put it in the res/drawable folder: <?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/spin_refresh" android:oneshot="fal...

   Animation,Spinner,Refresh button,Android     2012-11-02 11:51:41

  JavaScript Needs Blocks

While reading Hacker News posts about JavaScript, I often come across the misconception that Ruby’s blocks are essentially equivalent to JavaScript’s “first class functions”. Because the ability to pass functions around, especially when you can create them anonymously, is extremely powerful, the fact that both JavaScript and Ruby have a mechanism to do so makes it natural to assume equivalence. In fact, when people talk about why Ruby’s blocks are different ...

   JavaScript,Block,Style,Format,Maintainebility     2012-01-11 11:59:35

  PHP advisory file lock : flock

When we process a file in PHP, we may often need to acquire a lock so that other scripts cannot edit the same file at the same time. There is a flock() function in PHP which can help us lock the file we want to process. But there is one issue we should take care. Recently, ffb encountered one issue while he was trying to lock a file handle. The codes are below: $filename = "/tmp/lock.txt";      $fp = fopen($filename, "r+");   if (!$fp...

   flock(),advisory locking,PHP     2013-04-23 11:42:48

  OpenLDAP Proxy -- Installation and configuration

After understanding what the configuration would be for an OpenLDAP proxy, it's time to explain the installation of OpenLDAP proxy and how to make it run. In this post, we will cover how to install OpenLDAP proxy both locally and using docker. Local installation The installation is quite easy, there are a few packages to be installed including the ldap server, ldap client and some utilities. Below steps are for CentOS, the instructions for other platforms should be similar with minor differ...

   INSTALLATION,CENTOS,DOCKER,OPENLDAP,OPENLDAP PROXY     2017-11-03 20:26:41